Method for determining key video frames

ABSTRACT

A method for determining key video frames for a digital video having a time sequence of video frames, comprising using a processor to perform the steps of: analyzing the digital video to determine an importance value as a function of time; forming a warped time representation by temporal relocation of the video frames responsive to the importance value as a function of time; subdividing the warped time digital video sequence representation into a set of equal intervals; selecting a key video frame for each interval by analyzing the video frames within each interval; and storing an indication of the key video frames in a processor-accessible memory.

CROSS-REFERENCE TO RELATED APPLICATIONS

Reference is made to commonly assigned, co-pending U.S. patentapplication Ser. No. 12/786,475, entitled: “Ranking Key Video FramesUsing Camera Fixation”, by Aaron T. Deever; to commonly assigned,co-pending U.S. patent application Ser. No. 12/786,480, entitled:“Determining Key Video Snippets Using Selection Criteria”, by Aaron T.Deever; to commonly assigned, co-pending U.S. patent application Ser.No. 12/786,483, entitled: “Video Summary Method and System”, by Aaron T.Deever; to commonly assigned, co-pending U.S. patent application Ser.No. 12/786,489, entitled: “Storing A Video Summary As Metadata”, byAaron T. Deever; and to commonly assigned, co-pending U.S. patentapplication Ser. No. 12/786,501, entitled: “Video Capture SystemProducing A Video Summary”, by Aaron T. Deever, each of which areincorporated herein by reference.

FIELD OF THE INVENTION

This invention pertains to the field of digital video processing andmore particularly to a method for selecting key video frames and formingvideo summaries.

BACKGROUND OF THE INVENTION

Many digital capture devices are capable of capturing video as well asstill images. Managing digital video content, however, can be adifficult task. Videos are often represented visually with a thumbnailimage of the first frame of the video. This may not provide much insightinto the content of the video. Determining if a specific event iscontained in a given video often requires viewing the entire video. Fora lengthy video, a user may prefer to be able to get a quick summary ofthe video without having to view the video in its entirety.

Digital videos can also present practical problems from a sharingperspective. Many digital capture devices record video at 30 or 60frames per second, at spatial resolutions as high as 1920×1080 pixels.Even when compressed, the amount of data generated can make itimpractical to share even relatively short videos.

Video editing software can be used to manually summarize a video into ashorter version that can be shared more easily. Manual video editing canbe a lengthy, laborious process, however, and many users are notinterested in manual editing. Automatic video summarization algorithmsexist as well. These solutions start with a captured video as input, andanalyze the video to determine a video summary. Such algorithms are verycomplex, however, as it is necessary to decode the video to perform theanalysis required to determine the video summary. Thus it is notpossible on a digital capture device to immediately view a video summarycorresponding to a just-captured video. This shortcoming makes itdifficult to facilitate quick review and sharing of captured videos.

It would thus be desirable to provide systems and methods for computinga video summary in a digital capture device. In particular, it would bedesirable to provide solutions that allow a video summary to begenerated on a digital capture device with minimal delay at thecompletion of video capture.

SUMMARY OF THE INVENTION

The present invention represents a method for determining key videoframes for a digital video having a time sequence of video frames,comprising using a processor to perform the steps of:

a) analyzing the digital video to determine an importance value as afunction of time;

b) forming a warped time representation by temporal relocation of thevideo frames responsive to the importance value as a function of time;

c) subdividing the warped time digital video sequence representationinto a set of equal intervals;

d) selecting a key video frame for each interval by analyzing the videoframes within each interval; and

e) storing an indication of the key video frames in aprocessor-accessible memory.

This invention has the advantage that it selects key video framescorresponding to the most important parts of a digital video sequence.

It has the additional advantage that it uses global and local motionanalysis to provide an indication of video frame importance. Global andlocal motion analysis is also used to select key video frames in orderto avoid selecting key video frames that are likely to suffer frommotion artifacts.

It has the further advantage that the identified key video frames can beused to form video summaries comprised of a sequence of important keyvideo snippets.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a high-level diagram showing the components of a system forforming a video summary according to an embodiment of the presentinvention;

FIG. 2 is a flow diagram of a method for determining key video framesfor a digital video sequence according to an embodiment of the presentinvention;

FIG. 3 is a flow diagram of a method for classifying video framesaccording to an embodiment of the present invention;

FIG. 4 illustrates a digital video sequence divided in a set of equaldigital video intervals;

FIG. 5 illustrates a warped time representation of the digital videosequence shown in FIG. 4;

FIG. 6 illustrates the subdivision of the warped time representationinto equal time intervals;

FIG. 7 illustrates the corresponding location of the time intervals ofFIG. 6 relative to the original digital video sequence of FIG. 4;

FIG. 8 is a flow diagram of a method for forming a video summaryaccording to an embodiment of the present invention;

FIG. 9 is a flow diagram of a method for determining highest-ranked keyvideo frames according to an embodiment of the present invention;

FIGS. 10 and 11 illustrate fixation location histograms;

FIG. 12 shows a numerical representation of the fixation locationhistogram given in FIG. 11;

FIG. 13 illustrates an example of a ranking process useful fordetermining highest-ranked key video frames;

FIG. 14 illustrates the formation of key video snippets according to oneembodiment; and

FIG. 15 illustrates the formation of key video snippets according toanother embodiment.

DETAILED DESCRIPTION OF THE INVENTION

In the following description, a preferred embodiment of the presentinvention will be described in terms that would ordinarily beimplemented as a software program. Those skilled in the art will readilyrecognize that the equivalent of such software can also be constructedin hardware. Because image manipulation algorithms and systems are wellknown, the present description will be directed in particular toalgorithms and systems forming part of, or cooperating more directlywith, the system and method in accordance with the present invention.Other aspects of such algorithms and systems, and hardware or softwarefor producing and otherwise processing the image signals involvedtherewith, not specifically shown or described herein, can be selectedfrom such systems, algorithms, components and elements known in the art.Given the system as described according to the invention in thefollowing materials, software not specifically shown, suggested ordescribed herein that is useful for implementation of the invention isconventional and within the ordinary skill in such arts.

Still further, as used herein, a computer program for performing themethod of the present invention can be stored in a computer readablestorage medium, which can include, for example; magnetic storage mediasuch as a magnetic disk (such as a hard drive or a floppy disk) ormagnetic tape; optical storage media such as an optical disc, opticaltape, or machine readable bar code; solid state electronic storagedevices such as random access memory (RAM), or read only memory (ROM);or any other physical device or medium employed to store a computerprogram having instructions for controlling one or more computers topractice the method according to the present invention.

The invention is inclusive of combinations of the embodiments describedherein. References to “a particular embodiment” and the like refer tofeatures that are present in at least one embodiment of the invention.Separate references to “an embodiment” or “particular embodiments” orthe like do not necessarily refer to the same embodiment or embodiments;however, such embodiments are not mutually exclusive, unless soindicated or as are readily apparent to one of skill in the art. The useof singular or plural in referring to the “method” or “methods” and thelike is not limiting. It should be noted that, unless otherwiseexplicitly noted or required by context, the word “or” is used in thisdisclosure in a non-exclusive sense.

Because digital cameras employing imaging devices and related circuitryfor signal capture and processing, and display are well known, thepresent description will be directed in particular to elements formingpart of, or cooperating more directly with, the method and apparatus inaccordance with the present invention. Elements not specifically shownor described herein are selected from those known in the art. Certainaspects of the embodiments to be described are provided in software.Given the system as shown and described according to the invention inthe following materials, software not specifically shown, described orsuggested herein that is useful for implementation of the invention isconventional and within the ordinary skill in such arts.

The following description of a digital camera will be familiar to oneskilled in the art. It will be obvious that there are many variations ofthis embodiment that are possible and are selected to reduce the cost,add features or improve the performance of the camera.

FIG. 1 depicts a block diagram of a digital photography system,including a digital camera 10 capable of capturing video images inaccordance with the present invention. Preferably, the digital camera 10is a portable battery operated device, small enough to be easilyhandheld by a user when capturing and reviewing images. The digitalcamera 10 produces digital images that are stored as digital image filesusing image memory 30. The phrase “digital image” or “digital imagefile”, as used herein, refers to any digital image file, such as adigital still image or a digital video file.

In some embodiments, the digital camera 10 captures both motion videoimages and still images. In other embodiments, the digital camera 10 isa digital video camera that captures only motion video images. Thedigital camera 10 can also include other functions, including, but notlimited to, the functions of a digital music player (e.g. an MP3player), a mobile telephone, a GPS receiver, or a programmable digitalassistant (PDA).

The digital camera 10 includes a lens 4 having an adjustable apertureand adjustable shutter 6. In a preferred embodiment, the lens 4 is azoom lens and is controlled by zoom and focus motor drives 8. The lens 4focuses light from a scene (not shown) onto an image sensor 14, forexample, a single-chip color CCD or CMOS image sensor. The lens 4 is onetype optical system for forming an image of the scene on the imagesensor 14. In other embodiments, the optical system may use a fixedfocal length lens with either variable or fixed focus.

The output of the image sensor 14 is converted to digital form by AnalogSignal Processor (ASP) and Analog-to-Digital (A/D) converter 16, andtemporarily stored in buffer memory 18. The image data stored in buffermemory 18 is subsequently manipulated by a processor 20, using embeddedsoftware programs (e.g. firmware) stored in firmware memory 28. In someembodiments, the software program is permanently stored in firmwarememory 28 using a read only memory (ROM). In other embodiments, thefirmware memory 28 can be modified by using, for example, Flash EPROMmemory. In such embodiments, an external device can update the softwareprograms stored in firmware memory 28 using the wired interface 38 orthe wireless modem 50. In such embodiments, the firmware memory 28 canalso be used to store image sensor calibration data, user settingselections and other data which must be preserved when the camera isturned off. In some embodiments, the processor 20 includes a programmemory (not shown), and the software programs stored in the firmwarememory 28 are copied into the program memory before being executed bythe processor 20.

It will be understood that the functions of processor 20 can be providedusing a single programmable processor or by using multiple programmableprocessors, including one or more digital signal processor (DSP)devices. Alternatively, the processor 20 can be provided by customcircuitry (e.g., by one or more custom integrated circuits (ICs)designed specifically for use in digital cameras), or by a combinationof programmable processor(s) and custom circuits. It will be understoodthat connectors between the processor 20 from some or all of the variouscomponents shown in FIG. 1 can be made using a common data bus. Forexample, in some embodiments the connection between the processor 20,the buffer memory 18, the image memory 30, and the firmware memory 28can be made using a common data bus.

The processed images are then stored using the image memory 30. It isunderstood that the image memory 30 can be any form of memory known tothose skilled in the art including, but not limited to, a removableFlash memory card, internal Flash memory chips, magnetic memory, oroptical memory. In some embodiments, the image memory 30 can includeboth internal Flash memory chips and a standard interface to a removableFlash memory card, such as a Secure Digital (SD) card. Alternatively, adifferent memory card format can be used, such as a micro SD card,Compact Flash (CF) card, MultiMedia Card (MMC), xD card or Memory Stick.

The image sensor 14 is controlled by a timing generator 12, whichproduces various clocking signals to select rows and pixels andsynchronizes the operation of the ASP and A/D converter 16. The imagesensor 14 can have, for example, 12.4 megapixels (4088×3040 pixels) inorder to provide a still image file of approximately 4000×3000 pixels.To provide a color image, the image sensor is generally overlaid with acolor filter array, which provides an image sensor having an array ofpixels that include different colored pixels. The different color pixelscan be arranged in many different patterns. As one example, thedifferent color pixels can be arranged using the well-known Bayer colorfilter array, as described in commonly assigned U.S. Pat. No. 3,971,065,“Color imaging array” to Bayer, the disclosure of which is incorporatedherein by reference. As a second example, the different color pixels canbe arranged as described in commonly assigned U.S. Patent ApplicationPublication 2005/191729, filed on Jul. 28, 2007 and titled “Image sensorwith improved light sensitivity” to Compton and Hamilton, the disclosureof which is incorporated herein by reference. These examples are notlimiting, and many other color patterns may be used.

It will be understood that the image sensor 14, timing generator 12, andASP and A/D converter 16 can be separately fabricated integratedcircuits, or they can be fabricated as a single integrated circuit as iscommonly done with CMOS image sensors. In some embodiments, this singleintegrated circuit can perform some of the other functions shown in FIG.1, including some of the functions provided by processor 20.

The image sensor 14 is effective when actuated in a first mode by timinggenerator 12 for providing a motion sequence of lower resolution sensorimage data, which is used when capturing video images and also whenpreviewing a still image to be captured, in order to compose the image.This preview mode sensor image data can be provided as HD resolutionimage data, for example, with 1280×720 pixels, or as VGA resolutionimage data, for example, with 640×480 pixels, or using other resolutionswhich have significantly fewer columns and rows of data, compared to theresolution of the image sensor.

The preview mode sensor image data can be provided by combining valuesof adjacent pixels having the same color, or by eliminating some of thepixel values, or by combining some color pixel values while eliminatingother color pixel values. The preview mode image data can be processedas described in commonly assigned U.S. Pat. No. 6,292,218 to Parulski,et al., entitled “Electronic camera for initiating capture of stillimages while previewing motion images,” which is incorporated herein byreference.

The image sensor 14 is also effective when actuated in a second mode bytiming generator 12 for providing high resolution still image data. Thisfinal mode sensor image data is provided as high resolution output imagedata, which for scenes having a high illumination level includes all ofthe pixels of the image sensor, and can be, for example, a 12 megapixelfinal image data having 4000×3000 pixels. At lower illumination levels,the final sensor image data can be provided by “binning” some number oflike-colored pixels on the image sensor, in order to increase the signallevel and thus the “ISO speed” of the sensor.

The zoom and focus motor drivers 8 are controlled by control signalssupplied by the processor 20, to provide the appropriate focal lengthsetting and to focus the scene onto the image sensor 14. The exposurelevel of the image sensor 14 is controlled by controlling the f/numberand exposure time of the adjustable aperture and adjustable shutter 6,the exposure period of the image sensor 14 via the timing generator 12,and the gain (i.e., ISO speed) setting of the ASP and A/D converter 16.The processor 20 also controls a flash 2 which can illuminate the scene.

The lens 4 of the digital camera 10 can be focused in the first mode byusing “through-the-lens” autofocus, as described in commonly-assignedU.S. Pat. No. 5,668,597, entitled “Electronic Camera with RapidAutomatic Focus of an Image upon a Progressive Scan Image Sensor” toParulski et al., which is incorporated herein by reference. This isaccomplished by using the zoom and focus motor drivers 8 to adjust thefocus position of the lens 4 to a number of positions ranging between anear focus position to an infinity focus position, while the processor20 determines the closest focus position which provides a peak sharpnessvalue for a central portion of the image captured by the image sensor14. The focus distance which corresponds to the closest focus positioncan then be utilized for several purposes, such as automatically settingan appropriate scene mode, and can be stored as metadata in the imagefile, along with other lens and camera settings.

The processor 20 produces menus and low resolution color images that aretemporarily stored in display memory 36 and are displayed on the imagedisplay 32. The image display 32 is typically an active matrix colorliquid crystal display (LCD), although other types of displays, such asorganic light emitting diode (OLED) displays, can be used. A videointerface 44 provides a video output signal from the digital camera 10to a video display 46, such as a flat panel HDTV display. In previewmode, or video mode, the digital image data from buffer memory 18 ismanipulated by processor 20 to form a series of motion preview imagesthat are displayed, typically as color images, on the image display 32.In review mode, the images displayed on the image display 32 areproduced using the image data from the digital image files stored inimage memory 30.

The graphical user interface displayed on the image display 32 iscontrolled in response to user input provided by user controls 34. Theuser controls 34 are used to select various camera modes, such as videocapture mode, still capture mode, and review mode, and to initiatecapture of still images and recording of motion images. In someembodiments, the first mode described above (i.e. still preview mode) isinitiated when the user partially depresses a shutter button, which isone of the user controls 34, and the second mode (i.e., still imagecapture mode) is initiated when the user fully depresses the shutterbutton. The user controls 34 are also used to turn on the camera,control the lens 4, and initiate the picture taking process. Usercontrols 34 typically include some combination of buttons, rockerswitches, joysticks, or rotary dials. In some embodiments, some of theuser controls 34 are provided by using a touch screen overlay on theimage display 32. In other embodiments, additional status displays orimages displays can be used.

The camera modes that can be selected using the user controls 34 includea “timer” mode. When the “timer” mode is selected, a short delay (e.g.,10 seconds) occurs after the user fully presses the shutter button,before the processor 20 initiates the capture of a still image.

An audio codec 22 connected to the processor 20 receives an audio signalfrom a microphone 24 and provides an audio signal to a speaker 26. Thesecomponents can be to record and playback an audio track, along with avideo sequence or still image. If the digital camera 10 is amulti-function device such as a combination camera and mobile phone, themicrophone 24 and the speaker 26 can be used for telephone conversation.

In some embodiments, the speaker 26 can be used as part of the userinterface, for example to provide various audible signals which indicatethat a user control has been depressed, or that a particular mode hasbeen selected. In some embodiments, the microphone 24, the audio codec22, and the processor 20 can be used to provide voice recognition, sothat the user can provide a user input to the processor 20 by usingvoice commands, rather than user controls 34. The speaker 26 can also beused to inform the user of an incoming phone call. This can be doneusing a standard ring tone stored in firmware memory 28, or by using acustom ring-tone downloaded from a wireless network 58 and stored in theimage memory 30. In addition, a vibration device (not shown) can be usedto provide a silent (e.g., non audible) notification of an incomingphone call.

In some embodiments, the digital camera 10 also contains anaccelerometer 27 which provides data related to the motion of thecamera. Preferably, the accelerometer 27 detects both linear androtational accelerations for each of three orthogonal directions (for atotal of 6 dimensions of input).

The processor 20 also provides additional processing of the image datafrom the image sensor 14, in order to produce rendered sRGB image datawhich is compressed and stored within a “finished” image file, such as awell-known Exif-JPEG image file, in the image memory 30.

The digital camera 10 can be connected via the wired interface 38 to aninterface/recharger 48, which is connected to a computer 40, which canbe a desktop computer or portable computer located in a home or office.The wired interface 38 can conform to, for example, the well-known USB2.0 interface specification. The interface/recharger 48 can providepower via the wired interface 38 to a set of rechargeable batteries (notshown) in the digital camera 10.

The digital camera 10 can include a wireless modem 50, which interfacesover a radio frequency band 52 with the wireless network 58. Thewireless modem 50 can use various wireless interface protocols, such asthe well-known Bluetooth wireless interface or the well-known 802.11wireless interface. The computer 40 can upload images via the Internet70 to a photo service provider 72, such as the Kodak EasyShare Gallery.Other devices (not shown) can access the images stored by the photoservice provider 72.

In alternative embodiments, the wireless modem 50 communicates over aradio frequency (e.g. wireless) link with a mobile phone network (notshown), such as a 3GSM network, which connects with the Internet 70 inorder to upload digital image files from the digital camera 10. Thesedigital image files can be provided to the computer 40 or the photoservice provider 72.

The present invention will now be described with reference to FIG. 2,which details a method for using a processor 20 to determine key videoframes for a digital video sequence 200 having a time sequence of videoframes. Initially, the digital video sequence 200 is analyzed using ananalyze digital video step 210 to determine an importance value 215 as afunction of time. A form warped time representation step 220 forms awarped time representation 225 for the digital video sequence 200 bytemporal relocation of the video frames responsive to the importancevalue 215 as a function of time. A subdivide warped time representationstep 230 subdivides the warped time representation 225 into a set ofequal time intervals 235. A select key video frames step 240 selects akey video frame 245 for each time interval by analyzing the video frameswithin each time interval 235. A store indication of key video framesstep 250 stores an indication of the key video frames 245 for thedigital video sequence 200 in a processor-accessible memory.

The steps of FIG. 2 will now be described in greater detail. The analyzedigital video step 210 determines an importance value 215 as a functionof time. An importance value 215 is a quantity that represents thesignificance of the frames of the digital video sequence 200 as afunction of time. Preferably, the importance value 215 is a numericalvalue that is defined for every frame of the digital video sequence 200.For example, video frames determined to be of high importance, such asvideo frames containing faces, can be assigned a relatively higherimportance value 215. Video frames determined to be of low importance,such as video frames comprising a fast panning motion, can be assigned arelatively lower importance value 215.

Those skilled in the art will recognize that there are many featuresthat can be calculated with respect to video frames in the digital videosequence 200 that can be used to determine the importance value 215 as afunction of time. In a preferred embodiment of the present invention,the analyze digital video step 210 includes global motion analysis andlocal motion analysis. Global motion analysis determines global motioninformation that typically corresponds to motion of the capture device,while local motion analysis determines local motion information thatcorresponds to the movement of objects within the scene.

In some embodiments the global motion analysis is performed using atwo-parameter global motion model that provides translational offsetinformation (horizontal and vertical translation) as a function of time.In other embodiments, more complex global motion models can be used toprovide additional information such as rotational information on threeorthogonal axes and scale (zoom) information.

Local motion analysis is performed using local motion models thatprovide dense local motion information. In some embodiments, the localmotion model provides translational motion values for every pixel as afunction of time. Local motion models can also provide coarser motionestimates, for example providing a translational motion value for every8×8 or 16×16 block of pixels. In a preferred embodiment, local motioninformation provides an indication of the degree of motion occurring inthe center region of the video frame. This can be computed, for example,by counting the number of pixels in the center region of a video framewhich are identified as being part of moving regions.

In some embodiments, the computation of the global and local motioninformation is performed after the digital video sequence 200 has beencaptured, compressed and stored in a processor accessible memory. Thisrequires that the compressed digital video sequence be decompressedbefore it can be analyzed. In other embodiments, the global and localmotion information are determined during the digital video captureprocess prior to the digital video sequence 200 being compressed. Thismitigates the need to decompress the digital video sequence for purposesof performing the global and local motion analysis. In this case, thecomputed global and local motion information can be stored as metadataassociated with the digital video sequence 200. The metadata can eitherbe stored in the digital video file, or as a separate file associatedwith the stored digital video sequence. Such a method is described incommonly-assigned co-pending U.S. patent application Ser. No.12/786,483, entitled “Video summary method and system”, which isincorporated herein by reference.

In a preferred embodiment, the analyze digital video step 210 includesthe step of classifying a plurality of the video frames. FIG. 3describes the classification process for a preferred embodiment of thepresent invention. Global motion information 310 and local motioninformation 320 determined by the global motion analysis and the localmotion analysis, respectively, are inputs to a classifier 330, whichdetermines video frame classifications 340 for a plurality of the videoframes. In a preferred embodiment, video frame classifications 340assigned for video frames include: zoom, fast pan, interesting andinactive.

The classifier 330 classifies a video frame as a zoom video framewhenever the camera is zooming in or zooming out while that frame isbeing captured. Zooming processes can be detected through digital imageanalysis using global motion models that include a scale parameter todetect zoom. Zooming processes can also be detected at capture time byrecognizing signals sent to the zoom motor driver 8 to adjust the zoomlens 4.

The classifier 330 classifies a video frame as a fast pan video framewhenever the magnitude of global translational motion occurring duringthat video frame exceeds a threshold. Individual video framescorresponding to fast panning motions are generally very blurry and aretherefore not good candidates for key video frames to represent adigital video sequence.

The classifier 330 classifies a video frame as an inactive video framewhenever the magnitude of the global translational motion and themagnitude of the zoom motion, as well as the magnitude of the localmotion, are below specified thresholds. Such video frames are indicativeof a relatively stationary capture device and a scene with relativelylittle object motion. A single key video frame is often sufficient torepresent an inactive segment of a digital video sequence.

In the absence of additional classes, all remaining video frames can beclassified as interesting video frames. The interesting video framesrepresent segments of the digital video sequence most likely to containgood candidates for key video frames to represent the digital videosequence.

In a preferred embodiment of the present invention, an importance value215 (FIG. 2) is assigned for each video frame. Importance values 215 canbe determined from the video frame classifications 340 by associating anappropriate importance value with each of the different video frameclassifications 340. The table below illustrates example importancevalues 215 for each of the video frame classifications 340 describedabove:

TABLE 1 Video frame classification importance values Video FrameClassification Importance Value Zoom 0.3 Fast Pan 0.2 Inactive 0.6Interesting 1.0

The form warped time representation step 220 (FIG. 2) forms a warpedtime representation 225 for the digital video sequence by temporalrelocation of the video frames responsive to the importance value 215 asa function of time. FIGS. 4 and 5 illustrate this warping processaccording to one embodiment of the present invention. FIG. 4 illustratesa digital video sequence 400 beginning at time unit 0 and ending at timeunit 100, divided into equal digital video intervals 410 that are each 5time units long. The absolute value of each time unit is not importantfor the following discussion, but as an example, each time unit canrepresent 10 milliseconds, and each 5 time unit long piece of thedigital video sequence can represent one video frame. In this case, eachvideo frame is 50 milliseconds, such that the digital video sequence iscaptured at 20 video frames per second. In other embodiments, thedigital video intervals 410 can include a plurality of video framesrather than a single video frame.

FIG. 5 represents the warped time representation 225 of this digitalvideo sequence 200, wherein each digital video frame is temporallyrelocated responsive to the importance values 215 associated with thedigital video frames based on their corresponding video frame classes.Treating each piece of the digital video sequence as a single videoframe and using the importance values defined in Table 1, FIG. 5illustrates a warped time representation 500 comprised of warped digitalvideo intervals 510 for the digital video sequence 400. In this example,video frame 1 is classified as “interesting,” video frames 2-8 areclassified as “fast pan,” video frames 9-12 are classified as“interesting,” video frames 13-16 are classified as “inactive,” andvideo frames 17-20 are classified as “interesting.”

For a digital video interval 410 (video frame) of temporal extent of 5.0time units and having a video frame class of “zoom” and a correspondingimportance value of 0.3, a temporal extent of 5.0*0.3=1.5 time units isassigned to the warped digital video interval 510. Similarly, for adigital video interval 410 of temporal extent of 5.0 time units andhaving a video frame class of “fast pan” and a corresponding importancevalue of 0.2, a temporal extent of 5.0*0.2=1.0 time units is assigned tothe warped digital video interval 510; for a digital video interval 410of temporal extent of 5.0 time units and having a video frame class of“inactive” and a corresponding importance value of 0.6, a temporalextent of 5.0*0.6=3.0 time units is assigned to the warped digital videointerval 510; and for a digital video interval 410 of temporal extent of5.0 time units and having a video frame class of “interesting” and acorresponding importance value of 1.0, a temporal extent of 5.0*1.0=5.0time units is assigned to the warped digital video interval 510.

In a preferred embodiment, the warped time representation 500 is formedby assigning shorter temporal extent to digital video intervals 410 inportions of the digital video having lower importance values 215, andassigning longer temporal extent to video frames in portions of thedigital video having higher importance values 215.

The subdivide warped time representation step 230 (FIG. 2) subdividesthe warped time representation 225 into a set of equal time intervals235. FIG. 6 illustrates this step for the case in which the warped timerepresentation 500 is subdivided into a set of 5 equal time intervals520. Note that in the warped time representation, the absolute number ofdigital video frames (i.e., warped digital video intervals 510)contained in each equal time interval 520 will generally not beconstant.

FIG. 7 illustrates the location of corresponding time intervals 420relative to the original representation of the digital video sequence400. In this example, it can be seen that the first time interval 420contains more than 40% of the total number of digital video framescontained in the digital video sequence 400, while the second timeinterval 420 contains fewer than 15%.

The use of a warped time representation 225 (FIG. 2) has the advantagethat it allows the selection of one key video frame from within eachtime interval in a manner such that the key video frames have breadththroughout the entire digital video sequence, while simultaneously beingbiased to favor regions of high importance value.

The number of time intervals 235 (FIG. 2) can be automaticallydetermined, based on, for example, the overall temporal extent of thewarped time representation of the digital video sequence. Alternatively,the number of time intervals can be user-specified.

The select key video frames step 240 (FIG. 2) selects a key video frame245 for each time interval 235 by analyzing the video frames within eachtime interval 235. In a preferred embodiment of the present invention,this analysis includes assigning a selection score to a plurality ofvideo frames within each time interval 235, wherein the selection scoreis a function of the global motion and the local motion. The video framewith the highest selection score within a time interval 235 can beselected as the key video frame 245 for that time interval 235.

Most methods for compressing digital video sequences involve encodingsome video frames as independently-encoded video frames, and other videoframes as predictive-encoded video frames. In some embodiments of thepresent invention, only independently-encoded video frames areconsidered as candidates for key video frames within each time interval235, and selection scores are only computed for independently-encodedvideo frames. Independently-encoded video frames refer to video framesthat are encoded without any reference to other video frames. Such videoframes can be decoded without requiring any information from other videoframes. In contrast, predictive-encoded video frames are encoded basedon a prediction from one or more neighboring video frames. As such, apredictive-encoded video frame can not be decoded independently becauseit requires knowledge of one or more other video frames. In many videoencoding schemes, independently-encoded video frames are encoded at highquality, specifically because they are used as a prediction forsubsequent video frames, and a high quality prediction yields efficientencoding of the subsequent video frames. Thus independently-encodedframes are preferable candidates for key video frames 245, both becausethey are typically of high image quality and also because they can bedecoded quickly from the compressed digital video sequence withoutneeding to decode any additional video frames.

The selection score for a video frame can be a function of severaldifferent inputs, including global translational motion, zoom, localmotion, and proximity to the previous key video frame. In a preferredembodiment, video frames with corresponding high global translationalmotion magnitude are assigned relatively low selection score becausehigh levels of global motion typically produces motion blur in the videoframe. Likewise, video frames that follow the conclusion of a zoomsequence are assigned relatively high selection scores based on theassumption that the user has intentionally performed a zoom to focusattention on a particular region of interest. Therefore, video framesshortly after the zoom concludes (allowing some time for the capturedevice to refocus) are likely to be of high importance and are goodcandidates to be considered for key video frames 245. Video frames withvery low levels of object motion are assigned relatively low selectionscores based on the assumption that video frames of interest likelycontain some object activity. Video frames in close temporal proximityto other key video frames 245 are assigned lower selection scores basedon the assumption that the captured video has high temporal correlation,and therefore video frames in close temporal proximity are more likelyto contain redundant information. In embodiments where key video framesare selected serially for each time interval, temporal proximity can bemeasured with respect to previous key video frames. For embodimentswhere key video frames are selected in a jointly optimized manner thatconsiders the selection of all key video frames simultaneously, temporalproximity can be measured with respect to both temporally previous andsubsequent key video frames.

In some embodiments, the selection score for a video frame comprisesmultiple components and is given by the following equation:S(n)=GM(n)+LM(n)+Z(n)+P(n)  (1)where S(n) is the selection score, GM(n) is a global motion term, LM(n)is a local motion term, Z(n) is a zoom term, P(n) is a proximity term,and n is the video frame. In this equation, the individual terms of theselection score can each vary from a value of 0 to a value of 1,depending on the characteristics of the video frame.

The global motion term (GM) can be computed using any method known inthe art. In some embodiments, the global motion term has a value of 0for all video frame global motion magnitude values exceeding athreshold, T_(GM), a value of 1 for a video frame global motionmagnitude value of 0, and a value that decreases linearly from 1 to 0for video frame global motion magnitude values between 0 and T_(GM):

$\begin{matrix}{{{GM}(n)} = \{ \begin{matrix}{{1 - {{x_{GM}(n)}/T_{GM}}};} & {{x_{GM}(n)} \leq T_{GM}} \\{0;} & {{x_{GM}(n)} > T_{GM}}\end{matrix} } & (2)\end{matrix}$where x_(GM)(n) is the magnitude of the global motion vector for videoframe n.

Alternatively, the value of the global motion term can be decreased from1 to 0 in a non-linear fashion, such as according to a cosine function:

$\begin{matrix}{{{GM}(n)} = \{ \begin{matrix}{{\cos( \frac{\pi\;{x_{GM}(n)}}{2T_{GM}} )};} & {{x_{GM}(n)} \leq T_{GM}} \\{0;} & {{x_{GM}(n)} > T_{GM}}\end{matrix} } & (3)\end{matrix}$In this example, the cosine function penalizes global motion more slowlyat small magnitudes than a linear function.

The local motion term (LM) can be computed using any method known in theart. In some embodiments, local motion is measured as a function of adifference value computed between two video frames after accounting forglobal motion. For example, the difference value can be computed byshifting one of the video frames using the global motion vector,computing pixel differences between the overlapping pixels of the siftedvideo frames, and then computing the average pixel difference to providea video frame local motion value. A greater video frame local motionvalue is generally suggestive of a greater amount of local motion,although other situations, such as changes in lighting, can also causelarge differences between video frames.

In a preferred embodiment, the LM term is biased to preferentiallyselect video frames having moderate levels of local motion. For example,a function can be used where the LM term has a value of 1 for a videoframe local motion value at the mean value of all video frame localmotion value within a temporal interval. As local motion gets smaller,the LM value decreases linearly to a value of 0.9 at a video frame localmotion value of 0. As local motion increases, the LM value decreaseslinearly to a value of 0.8 at the maximum video frame local motion valuein the temporal interval. In equation form, this can be expressed as:

$\begin{matrix}{{{LM}(n)} = \{ \begin{matrix}{{0.9 + {0.1( {{x_{LM}(n)}/\overset{\_}{x_{LM}}} )}};} & {{x_{LM}(n)} \leq \overset{\_}{x_{LM}}} \\{{1.0 - {0.2( \frac{{x_{LM}(n)} - \overset{\_}{x_{LM}}}{x_{{LM},\max} - \overset{\_}{x_{LM}}} )}};} & {\overset{\_}{x_{LM}} < {x_{LM}(n)} > x_{{LM},\max}}\end{matrix} } & (4)\end{matrix}$where x_(LM)(n) is the video frame local motion value for video frame n;x_(LM) is the mean value of all video frame local motion values for thevideo frames within the temporal interval; and x_(LM,max) is the maximumvideo frame local motion value for all of the video frames within thetemporal interval.

In alternate embodiments, the local motion term can be determined bycomputing local motion vectors between corresponding pixels in two videoframes after accounting for global motion. The average magnitude of thelocal motion vectors can then be determined for each video frame andused as the video frame local motion values.

The zoom term (Z) can be computed using any method known in the art. Insome embodiments, the zoom term has a value of 0 for video frames wherea zoom action is in progress or has just completed (and the device hasnot had enough time to refocus yet), the zoom term has a value of 1 fortwo seconds immediately following a zoom action (after allowing time forthe device to refocus), and the zoom term has a value of 0.5 for allother video frames.

The proximity term (P) can be computed using any method known in theart. In some embodiments, the proximity term has a value of 1 whenever avideo frame is at least two seconds separated from the previous keyvideo frame, and has a value that linearly decreases to 0 as thedistance from the previous key video frame decreases to 0.

Those skilled in the art will recognize that the description above forselecting key video frames 245 by determining selection scoresresponsive to global motion and local motion features represents justone possible embodiment. Key video frames 245 can be selected inaccordance with the present invention using any other method known inthe art to select a key video frame 245 from within a time interval 235.

The store indication of key video frames step 250 stores an indicationof the key video frames 245 in a processor-accessible memory. In someembodiments of the present invention, the key video frames 245 can beextracted as individual video frames. The individual video frames canthen be compressed and stored within individual digital image files,such as well-known Exif-JPEG image files. An advantage of storing thekey video frames as separate digital image files is that they areimmediately accessible by any standard image reader.

In other embodiments of the present invention, the key video frames canbe indicated by storing metadata associated with the digital videosequence 200. The metadata can be a list of video frames that have beenidentified to be key video frames 245. A “smart” video reader caninterpret the metadata associated with the digital video and therebyextract the key video frames 245. An advantage of storing an indicationof the key video frames 245 as metadata comprising a list of frames isthat the only additional memory required to indicate the key videoframes is the list of frames metadata, which requires a relatively smallamount of memory.

In other embodiments of the present invention, the key video frames canbe indicated by storing video frame thumbnail images as metadataassociated with the digital video. The video frame thumbnail images arelow resolution versions of the key video frames. An advantage of storingthe key video frames as video frame thumbnail images associated with thedigital video is that the key video frames can be extracted from themetadata more quickly than they can be extracted from the digital video.

In some embodiments of the present invention, the method for determiningkey video frames represents one portion of a process for forming a videosummary. FIG. 8 illustrates the steps for a method of forming a videosummary according to one embodiment of the present invention. Theanalyze digital video step 210, the form warped time representation step220, the subdivide warped time representation step 230, the select keyvideo frames step 240 and the store indication of key video frames step250 are performed as described previously with respect to FIG. 2.Subsequently, a determine highest-ranked key video frames step 260 ranksthe key video frames 245 according to a specified criterion to determinea set of highest-ranked key video frames 265. A form key video snippetsstep 270 forms key video snippets 275 corresponding to thehighest-ranked key video frames 265. A form video summary step 280assembles the key video snippets 275 to form a video summary 285. Astore video summary representation step 290 stores a representation ofthe video summary 285 in a processor-accessible memory.

Methods associated with the determine highest-ranked key video frames260, form key video snippets step 270 and form video summary step 280are described in greater detail below. The store video summaryrepresentation step 290 can use any method known in the art, such asthose described in commonly assigned, co-pending U.S. patent applicationSer. No. 12/786,483, entitled “Video summary method and system,” whichis incorporated herein by reference. One of these methods includesdecompressing at least part of the stored digital video to extract videoframes corresponding to the video summary, and compressing the extractedvideo frames to form a compressed video summary, which is then stored ina processor-accessible memory. Another of these methods includesgenerating metadata providing an indication of the video frames in thedigital video sequence corresponding to the video summary, and whereinthe metadata is stored in association with the stored digital video.Optionally, indications of various transition effects that can be usedto transition between the key video snippets can also be stored asmetadata associated with the digital video sequence.

FIG. 9 illustrates additional details for the determine highest-rankedkey video frames step 260 according to the one embodiment of the presentinvention. An analyze digital video step 910 analyzes the digital videoto determine a camera fixation pattern 915. A rank key video frames step920 determines the highest-ranked key video frames 265 for the digitalvideo responsive to the camera fixation pattern 915.

The analyze digital video step 910 analyzes the digital video todetermine the camera fixation pattern 915. The camera fixation pattern915 represents the region of the image scene being captured as afunction of time throughout the video capture process. In a preferredembodiment, the camera fixation pattern 915 is determined by analyzingthe global camera motion. A stationary camera views the same portion ofthe image scene at all times, and has a camera fixation pattern 915represented as a single point. On the other hand, the camera fixationpattern 915 for a moving camera will correspond to a motion tracerepresenting the motion of the camera.

FIG. 10 illustrates a fixation location histogram 930 representing acamera fixation pattern 915 (FIG. 9) for a digital video sequence 200that includes some panning motions. A motion trace 925 is determined byanalyzing the global translational motion of the video capture. Thevideo capture process begins with the motion trace starting at anarbitrary location. For example, the video capture can be defined tobegin at the origin (0,0) on a two-dimensional plane. (In the examplegiven in FIG. 10, the video capture begins at the horizontal axis valueof approximately 200, and the vertical axis value of approximately 10.)Global translational motion is then characterized by determining pixeloffsets between consecutive video frames. The motion trace 925 isdetermined by tracing cumulative pixel offsets throughout the entirevideo capture.

In some embodiments, the motion trace 925 is represented using ahistogram of camera fixation locations. The histogram bin for aparticular camera fixation location is incremented by one for each videoframe which is fixated at that camera fixation location. The camerafixation histogram 930 in FIG. 10 is a representation of such ahistogram of camera fixation locations. Higher image intensity values ata particular location are an indication that a greater number of videoframes were fixated at a given location. It can be seen that the camerawas panned both vertically and horizontally during the capture process,and that there were some intervals where the camera fixation was heldrelatively constant.

In some embodiments of the present invention, the camera fixationpattern is spatially quantized into pixel regions. The quantizationfactor used in FIG. 10 was 10 pixels. That is to say that each bin inthe histogram (each offset of one unit vertically or horizontally inFIG. 10) has a width of 10 pixels. For each global translational motionof 10 pixels in a given direction, the fixation position moves in thatdirection to the next bin in the histogram.

By increasing the quantization factor, the camera fixation histogram canbe reduced to a smaller number of bins. FIG. 11 illustrates a fixationlocation histogram 940 corresponding to the same video capture as inFIG. 10 for which a quantization factor of 240 is used. This reduces thetotal number of histogram bins required to represent the fixationpattern. Additionally, it gives a more concentrated representation ofthe regions of fixation that will be less effected by camera shake andsubtle movements that can change the histogram bin for smallquantization factors. From examination of FIG. 11, it can be seen thatthere are four main camera fixation regions during the course of thedigital video sequence.

FIG. 12 is a numerical representation of the fixation location histogram940 given in FIG. 11. The numerical values indicate the number of videoframes corresponding to a given bin in the fixation location histogram940 throughout the video capture. The four main camera fixation regionsall have greater than 200 video frames fixated on that region, while theremaining transitory regions all have fewer than 100 video frames each.In a preferred embodiment of the present invention, each region of thecamera fixation pattern has an associated fixation value that is afunction of the number of video frames in that region.

In the numerical representation of FIG. 12, the histogram value is givenas an absolute number of video frames in each region. Alternatively, thehistogram values can be scaled by a scale factor. For example, thehistogram values can be normalized by the total number of video framesin the video capture.

In general, a region of the image scene that the camera fixates on issuggestive of a region of interest in the video capture. Thus, videoframes corresponding to regions of high fixation are good candidates forkey video frames.

In a preferred embodiment of the present invention, the camera fixationpattern is determined by global motion analysis as was described withrespect to FIGS. 10-12. In alternate embodiments, the camera fixationpattern can also account for zoom. One method for handling zoom is bydefining a three-dimensional motion trace, where two axes of the motiontrace correspond to global translational motion (horizontal andvertical), and the third axis of the motion trace corresponds to zoommagnification. In other embodiments, the camera fixation pattern canalso account for camera rotation.

In some embodiments, the global motion information is determined byanalyzing data from an accelerometer 27 (FIG. 1). The accelerometer datacan be converted to translational motion in units of pixels. In otherembodiments of the present invention, the global motion information isdetermined using digital motion estimation. Those skilled in the artwill recognize that there are many well-known methods for computing aglobal translational motion estimate between a pair of digital images.

Preferably, the quantization factor used in determining the camerafixation pattern histogram is a function of the resolution of the videocapture. In one representative embodiment, the quantization factor isequal to one half of the resolution of a video frame. For a VGA videohaving 640 columns and 480 rows, this corresponds to a quantizationfactor of 320 in the horizontal direction and 240 in the verticaldirection.

The motion traces illustrated in FIGS. 10 and 11 contain no temporalinformation. That is to say, while there is an indication of the overallcamera fixation regions throughout the video capture, there is noindication of when in the video capture process they occur. In someembodiments of the present invention, the temporal information isretained and the motion trace indicates the camera fixation location asa function of time.

Returning to a discussion of FIG. 9, the key video frames 245 arepreferably determined as described previously with respect to FIG. 2.Alternately, the key video frames 245 can be determined using any methodknown in the art. The rank key video frames step 920 ranks the key videoframes 245 responsive to the camera fixation pattern 915. In a preferredembodiment, a corresponding camera fixation pattern region is determinedfor each key video frame. The camera fixation pattern region for aparticular key video frame can be determined based on the location ofthe global translational motion trace at the capture time of theparticular key video frame. A corresponding fixation value is thendetermined from the fixation location histogram for the digital videosequence for each key video frame. Preferably, the key video frames areinitially ranked by fixation value. The key video frame with the highestfixation value is the highest initially ranked key video frame.

Additional ranking measures can also be used to rank the key videoframes. In some embodiments of the present invention these additionalranking measures operate in conjunction with the fixation value toprovide the initial ranking. In other embodiments of the presentinvention, the additional ranking measures are secondary rankingmeasures, and are used to break ties among all key video frames havingequivalent fixation values. One example of an additional ranking measurefor ranking key video frames is the selection score assigned to eachframe as described previously with regards to the select key videoframes step 240 in FIG. 2.

In a preferred embodiment of the present invention, the ranking of thekey video frames is determined iteratively. In a first iteration, thehighest ranking key video frame is determined. This can be determined byselecting the key video frame having the highest ranking based onfixation value and additional ranking measures.

After the highest-ranked key video frame is selected, each subsequentiteration involves re-ranking the remaining key video frames, andselecting the highest-ranked remaining key video frame. In a preferredembodiment of the present invention, after the highest ranking key videoframe is determined, the key video frames are subsequently rank-adjustedby redundancy. Redundancy corresponds to multiple key video framescorresponding to a single fixation region. In order to rank the keyvideo frames so that all different regions of fixation are representedin the ranked key video frame list before a single fixation region isrepresented multiple times, the key video frames are re-ranked at eachiteration to favor regions that have not yet been represented in theranked key video frame list.

FIG. 13 illustrates an example of this ranking and re-ranking process.Four key video frames are selected to represent a particular digitalvideo sequence. Key video frame 1 corresponds to camera fixation region3, which has a corresponding fixation value of 0.4. Key video frame 1also has an initial ranking score of 80, based on the fixation value aswell as an additional scoring measure. Similarly, key video frame 2 hasa corresponding camera fixation region 6, fixation value 0.2, andinitial ranking score of 70. Key video frame 3 has a correspondingcamera fixation region of 3, fixation value of 0.4, and initial rankingscore of 90. Key video frame 4 has a corresponding camera fixationregion of 2, fixation value of 0.1, and initial ranking score of 60.

The initial ranking of the key video frames, based on the initialranking score, from highest to lowest, is key video frame 3, key videoframe 1, key video frame 2, and key video frame 4. Key video frame 3 isselected in the first iteration of the final ranking as thehighest-ranked key video frame. Subsequently, the remaining key videoframes are re-ranked to favor those key video frames from camerafixation regions other than camera fixation region 3. Consequently, keyvideo frame 2 is selected in the second iteration of the final ranking.Key video frame 1 is only selected in the ranking process after allother fixation regions are represented, and as a result becomes thefinal ranked key video frame.

Returning to a discussion of FIG. 8, the form key video snippets step270 forms key video snippets 275 corresponding to one or morehighest-ranked key video frames 265. Generally, the form key videosnippets step 270 forms the key video snippets 275 according to apredefined set of criteria, including a criterion which specifies thetotal time duration for the video summary and a criterion whichspecifies the minimum time duration for each of the key video snippets.

The highest-ranked key video frames 265 act as foundations from whichthe key video snippets 275, and ultimately the video summary 285, arebuilt. The number of highest-ranked key video frames 265 that areselected to form the key video snippets 275 will generally depend on thetotal time duration of the video summary and the minimum time durationof the key video snippets. In some embodiments, a key video snippet 275is centered around each of the selected highest-ranked key video frames265.

In other embodiments of the present invention, the start and end time ofeach key video snippet is responsive to other criteria. For example, thedigital video sequence can be analyzed to determine an importance valueas a function of time, and the start and end times for a key videosnippet can be determined responsive to a criterion which encourages theinclusion of video frames having high importance values. Analyzing thedigital video to determine an importance value as a function of time canbe performed as described with respect to the analyze digital video step210 of FIG. 2. The importance value can favor, for example, theinclusion of interesting frames rather than inactive or fast pan frames.The start and end points of each key video snippet can be adjusted to beresponsive to this criterion while simultaneously satisfying constraintson the total duration for the video summary and the minimum duration ofeach key video snippet.

In some embodiments of the present invention, the digital video isanalyzed to determine a level of audio activity as a function of time.In this case, the start and end times for a key video snippet 275 can bedetermined responsive to a criterion which encourages selecting startand end times corresponding to low levels of audio activity. Thisminimizes the likelihood that a key video snippet either begins or endswith clipped speech. In most cases, it is desirable that the key videosnippets contain complete speaking segments, and do not cut off aspeaker in the middle of a sentence. Those skilled in the art willrecognize that techniques for analyzing audio to detect speech arewell-known in the art.

In some embodiments of the present invention, the key video snippets areformed according to a criterion which discourages the formation of keyvideo snippets that have similar content. One method for discouragingthe formation of key video snippets having similar content is byrestricting the number of highest-ranked key video frames used to formkey video snippets to only those having unique camera fixation regions.In the case that this number is smaller than would otherwise be chosen,the time duration of each individual key video snippet can be lengthenedto satisfy the overall video summary time duration criterion.

In some embodiments of the present invention, key video snippets 275corresponding to the highest-ranked key video frames 265 that areseparated by time intervals less than a specified threshold are mergedto form a single key video snippet. Merging of key video snippets canprevent the case that the end of one key video snippet overlaps thebeginning of the next key video snippet, or are separated by only ashort time duration. A video summary containing such transitions wouldtend to be confusing to a viewer. A visually preferable video summarycontains a single merged key video snippet that eliminates thetransition between the two original key video snippets.

Many digital video compression algorithms break a digital video sequenceinto groups of video frames for encoding purposes. For example, anencoding group of video frames may include one independently-encodedvideo frame (i.e., an “I” frame) and a plurality of predictive-encodedvideo frames (i.e., “P” frames), where each “P” frame is predicted fromthe previous frame. A particular encoding group of video frames ends anda new encoding group of video frames begins when the next “I” frame isencountered. In such a compression scheme, “I” frames offer accesspoints into the compressed digital video sequence, wherein frames can beextracted starting at an “I” frame. In particular, entire encodinggroups of video frames can be extracted from a compressed digital videosequence and transcoded into a video summary only requiring decoding ofheader information indicating the location of and number of compressedbytes comprising the encoding group of video frames. Thus it can beadvantageous when forming a video summary 285 to impose a constraintthat the starting frame of each key video snippet 275 is an “I” frame,and to require that the key video snippet 275 contains an exact numberof encoding groups of video frames. These constraints enable thegeneration of the video summary 285 with minimal decompression of theoriginal compressed digital video sequence.

In some embodiments of the present invention, the total time durationfor the video summary is automatically determined. It can be determinedresponsive to the time duration of the original video, or the timeduration of the warped time representation of the digital video. Inother embodiments of the present invention, the total time duration ofthe video summary is user-specified. For example, a user may have aspecific desired video summary length in mind. The number and durationof the key video snippets 275 can then be determined responsive to thetotal time duration of the video summary.

FIG. 14 illustrates an example of the formation of key video snippetsaccording to one embodiment. In this case, the key video snippets areformed such that they are of equal time duration and are centered arounda set of corresponding highest-ranked key video frames. In thisembodiment, a digital video sequence 610 is analyzed and threehighest-ranked key video frames 640 are selected. A key video snippet620 is formed corresponding to each highest-ranked key video frame 640.Speaking segments 630 are indicated within the digital video sequence610. This process for determine key video snippets 620 has the drawbackthat the first key video snippet 620 cuts off a speaking segment 630before it is finished. The determined key video snippets 620 also havethe drawback that the second and third key video snippets have a shorttime duration between them.

FIG. 15 illustrates the formation of key video snippets 620 from thesame digital video sequence 610 according to an alternate embodiment. Inthis case, the formation of the key video snippets 620 is furtherresponsive to additional criteria. In this embodiment, the length of allkey video snippets 620 are not required to be equal, and the location ofeach key video snippet 620 is not required to be centered around thecorresponding highest-ranked key video frame 640. Furthermore, the startand end points of each key video snippet 620 are responsive to acriterion encouraging selection of start and end times corresponding tolow levels of audio activity. Furthermore, the key video snippets 620are formed responsive to a criteria that merges key video snippets thathave corresponding highest-ranked key video frames 640 that areseparated by a time interval less than a specified threshold. In thiscase, the first key video snippet 620 is lengthened and shiftedoff-center relative to the corresponding highest-ranked key video frame640, so that the key video snippet 620 does not clip the speakingsegment 630 at either end. Furthermore, the short time duration betweenthe second and third highest-ranked key video frames 640 results in themerging of the corresponding key video snippets into a single key videosnippet 620. The overall time duration constraint is enforced byadjusting the start and end times as necessary while still mergingtemporally close key video snippets 620 and avoiding clipped speakingsegments 630. The key video snippets 620 shown in FIG. 15 generate amore pleasing video summary than the key video snippets 620 in FIG. 14.

The form video summary step 280 (FIG. 8) assembles the key videosnippets 275 to form the video summary 285. In a preferred embodiment,the key video snippets are assembled in chronological ordercorresponding to their order of occurrence in the digital videosequence.

A computer program product can include one or more storage medium, forexample; magnetic storage media such as magnetic disk (such as a floppydisk) or magnetic tape; optical storage media such as optical disk,optical tape, or machine readable bar code; solid-state electronicstorage devices such as random access memory (RAM), or read-only memory(ROM); or any other physical device or media employed to store acomputer program having instructions for controlling one or morecomputers to practice the method according to the present invention.

The invention has been described in detail with particular reference tocertain preferred embodiments thereof, but it will be understood thatvariations and modifications can be effected within the spirit and scopeof the invention.

PARTS LIST

-   2 flash-   4 lens-   6 adjustable aperture and adjustable shutter-   8 zoom and focus motor drives-   10 digital camera-   12 timing generator-   14 image sensor-   16 ASP and A/D Converter-   18 buffer memory-   20 processor-   22 audio codec-   24 microphone-   26 speaker-   27 accelerometer-   28 firmware memory-   30 image memory-   32 image display-   34 user controls-   36 display memory-   38 wired interface-   40 computer-   44 video interface-   46 video display-   48 interface/recharger-   50 wireless modem-   52 radio frequency band-   58 wireless network-   70 Internet-   72 photo service provider-   200 digital video sequence-   210 analyze digital video step-   215 importance value-   220 form warped time representation step-   225 warped time representation-   230 subdivide warped time representation step-   235 time intervals-   240 select key video frames step-   245 key video frames-   250 store indication of key video frames step-   260 determine highest-ranked key video frames step-   265 highest-ranked key video frames-   270 form key video snippets step-   275 key video snippets-   280 form video summary step-   285 video summary-   290 store video summary representation step-   310 global motion information-   320 local motion information-   330 classifier-   340 video frame classifications-   400 digital video sequence-   410 digital video intervals-   420 time interval-   500 warped time representation-   510 warped digital video intervals-   520 equal time interval-   610 digital video sequence-   620 key video snippet-   630 speaking segments-   640 highest-ranked key video frames-   910 analyze digital video step-   915 camera fixation pattern-   920 rank key video frames step-   925 motion trace-   930 fixation location histogram-   940 fixation location histogram

The invention claimed is:
 1. A method comprising: determining, by acomputing device, an importance value for each of a plurality of firstvideo intervals comprising a video frame, wherein a video comprises theplurality of first video intervals in a temporal order; forming, by thecomputing device, a warped time representation of the video by modifyinga duration of at least one of the first video intervals based at leastin part on the importance values; subdividing, by the computing device,the warped time representation of the video into second video intervals;selecting, by the computing device, a key video frame for each secondvideo interval; and storing, by the computing device, an indication ofthe key video frame for each second video interval.
 2. The method ofclaim 1, wherein determining the importance value comprises detectingglobal motion.
 3. The method of claim 1, wherein determining theimportance value comprises detecting local motion.
 4. The method ofclaim 1, wherein determining the importance value comprises classifyingthe video frame into at least one of a plurality of video frameclassifications.
 5. The method of claim 4, wherein the plurality ofvideo frame classifications include zoom, fast pan, interesting, orinactive.
 6. The method of claim 4, wherein each of the plurality ofvideo frame classifications is associated with an importance value. 7.The method of claim 1, wherein selecting the key video frames comprisesdetermining a selection score for each of a plurality of second videointerval frames within each second video interval.
 8. The method ofclaim 7, wherein determining the selection scores is based at least parton global motion and local motion.
 9. The method of claim 1, whereinselecting the key video frames comprises selecting an independentlyencoded video frame as the key video frame within each second videointerval.
 10. The method of claim 1, wherein storing the indication ofthe key video frames comprises extracting the key video frames asseparate files.
 11. The method of claim 1, wherein storing theindication of the key video frames comprises storing a list of key videoframes as metadata associated with the video.
 12. The method of claim 1,wherein storing the indication of the key video frames comprises storingthumbnail images for the key video frames as metadata associated withthe video.
 13. The method of claim 1, wherein forming the warped timerepresentation of the video comprises assigning a shorter temporalextent to video frames having importance values indicating lowerimportance.
 14. The method of claim 1, wherein forming the warped timerepresentation of the video comprises assigning a longer temporal extentto video frames having importance values indicating higher importance.15. The method of claim 1, wherein the number of second video intervalsis user-specified.
 16. The method of claim 1, further comprising:ranking, by the computing device, the key video frames based at least inpart on a criterion; forming, by the computing device, key videosnippets corresponding to the highest-ranked key video frames; forming,by the computing device, a video summary by assembling the key videosnippets; and storing, by the computing device, a representation of thevideo summary.
 17. A system comprising: an image sensor; an opticalsystem configured to form an image of a scene onto the image sensor; adata processing system; and a memory system communicatively connected tothe data processing system and storing instructions configured to causethe data processing system to: capture a video using the image sensor,wherein the video comprises a plurality of first video intervals in atemporal order, wherein each of the plurality of first video intervalscomprises a video frame; determine an importance value for each of theplurality of first video intervals comprising a video frame; form awarped time representation by modifying a duration of at least one ofthe first video intervals based at least in part on the importancevalues without modifying the temporal order of the video frames;subdivide the warped time representation into intervals; select a keyvideo frame for each interval; and store an indication of the key videoframes.
 18. The method of claim 1, wherein the temporal order of theplurality of first video intervals is maintained in the warped timerepresentation of the video.